HashSet实现了Set接口,Set是一种无序不可重复的集合。HashSet内部通过HashMap来实现的
本篇我们介绍它的实现部分
1 | public class HashSet<E> |
####添加元素
1 | public boolean add(E e) { |
添加元素到HashSet的方法异常简单,只是调用map的put方法,这里可以看到e实际上为map的key,它作为HashMap的元素
而PRESENT对象是与其关联的对象,map的put返回null表示之前没有添加过该key-value对。而HashSet的add返回true表示
e未添加过。
####移除元素
1 | public boolean remove(Object o) { |
移除元素是通过map的remove方法来实现的。